热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

android–嵌入式系统:我应该使用哪个操作系统?

我计划构建我的嵌入式系统来处理我的吉他声音,如一个pod,带有输入和输出等等,一个带有预设的程序运行的系统,小型液晶屏幕中的选项等应该是用于导航的多点触控.现在我刚开始,不知道从哪

我计划构建我的嵌入式系统来处理我的吉他声音,如一个pod,带有输入和输出等等,一个带有预设的程序运行的系统,小型液晶屏幕中的选项等应该是用于导航的多点触控.

现在我刚开始,不知道从哪里开始,我应该使用什么系统.

它应该支持我上面写的功能(如多点触控)并且应该是免费的.

嵌入式Linux,
要么
Android的
或者是什么?

解决方法:

您是否使用现成的效果模块与嵌入式系统的某种接口,或者您是否计划在程序中执行效果?我在这个回复中假设后者,请澄清我是否误解了项目的性质:

你的系统工程……

您将需要处理输入和输出的模拟.甚至数字输入和输出在某些方面都是模拟的,以保持信号清洁.甚至光学也将在光学接口和处理器接口之间进行模拟.

(我知道这很长,继续阅读会收敛你问题的答案)

您将在界面中拥有某种硬件到软件数据,理想情况下,如果您选择支持不同的接口,理想情况下您需要将数据规范化为通用形式和数据速率,以便效果处理只需要以一种方式处理它. (在代码中避免一堆if-then-elses,如果比特率是那么,否则如果比特率是那么,否则……如果比特率是这个,数据是单极的话,否则如果比特率是这样,数据是双极的那么,否则……).

效果处理的内容和你想要的一样复杂,一次一个效果或多个效果?对于每个效果,定义您要允许调整的参数(我将从最小数字开始,可能是无,然后在一切正常后再添加参数).这些参数需要在某些方面或方式中是全局的,以便用户界面可以获取它们并修改它们以进行效果处理.

输出,与输入相同,大量模拟工作,从规范化数据流转换为接口想要或需要的任何东西,或者您定义它.

然后有用户界面……简单的部分.

用于效果处理的软件的内容可以是与系统无关的代码,并且在桌面/笔记本电脑上比在目标系统上开发和测试更加舒适,同时要记住代码应该是系统和操作系统独立编写的.因为写入可嵌入(避免浮点,除法,许多局部变量等).

有时,如果不经常在一个封闭的系统中,在同一个黑盒子上有某种用户界面,旋钮或按钮,某种屏幕,触摸屏等.一个系统可以管理用户界面,另一个执行任务,有一个之间的联系.并不总是,但它是一个很好的清洁设计,并允许,例如昨天设计的产品,按钮和旋钮,并说一个双线液晶面板,现代化的触摸屏,只需一小部分的努力,明天的某个时候那里可能是一些光纤直接插入你脑后的插座,谁知道呢.

分离处理任务的另一个原因是,更容易确保效果处理器永远不会被用户界面的东西陷入困境.你不想在你的触摸屏上转动一个虚拟旋钮,并且图形加载以绘制图片会导致你的音频变得乱码或变成讨厌的呜呜声.基本上效果处理器是实时关键的.你不想在吉他上拾取琴弦,并在三秒钟之后将声音从放大器中取出,因为处理器也在你的触摸屏面板上绘制了一个动画背景.这种处理需要紧密,快速和确定性,代码中的每个if-then-else都必须被考虑和平衡.如果您允许多个并行效果,您的处理器需要能够有带宽来处理所有效果而不会有明显的延迟,否则如果一次只有一个效果,那么需要选择处理器来处理一个效果最糟糕的计算工作.可能发生的最坏情况是输入到输出延迟因gui处理正在做的事情而变化,导致音乐听起来很糟糕.

因此,您可以使用其用户界面来处理效果处理器,例如,串行接口和该接口(您定义的)上的协议,用于选择效果和更改参数.您可以使用通过串行接口连接的桌面和/或笔记本电脑启动效果处理器并进行工作和测试,其中一些特殊代码用于更改参数,可能是命令行程序.

现在是它变得有趣的地方.你可以得到一个现成的嵌入式linux系统或嵌入式android或者其他什么,编写你的使用串行协议的app,如果需要胶水,螺栓,磁带,模具等这个用户界面系统在上面,旁边效果处理器模块.请注意,您可以拥有所有建议的平台,一个Android版本,一个Linux(没有Android)版本,一个Mac版本,一个Windows版本,一个DOS版本,一个qnx版本,一个amiga版本,你可以命名它.您可以在同一个操作系统上尝试100种不同的用户界面变体,也许我希望旋钮是滑块,或者上/下按钮,或者我使用双指触摸旋转的表盘,或其他一些多点触控手势.

它变得更好,而不是串行或除了串行之外你可以使用蓝牙模块.您的用户界面可以是iPhone应用程序,或Android手机应用程序,或笔记本电脑Linux或Windows应用程序.或者你的桌面计算机等.所有这些都是(相对)简单的平台,用于编写图形用户界面来选择东西.

当然,另一种方法可能是以太网,特别是无线以太网,那么您的用户界面可能是一个网页,而您的大部分用户界面工作已由firefox或chrome或其他团队完成. (无线以太网或蓝牙或zigbee或其他允许效果处理器在某个方便的地方,并且不必在你的手臂/脚的范围内).

做你的系统工程.将问题分解为几个大模块,定义模块之间的接口,然后在必要时在这些模块中担心系统工程,直到您获得易于消化的咬合.系统工程越好,模块之间的接口越好定义,项目就越容易实现.

我还会调查xmos上的xcore处理器,他们有一个非常好的模拟器,带有vcd波形输出,你也可以使用它来准确地分析你的效果处理.就个人而言,我很难为这个项目选择这个平台.

您还应该从ti调查omap,这是beagleboard上的内容.你得到一个很好的手臂,已经有linux和其他东西移植并运行,但你也得到一个dsp块,dsp块可以做你的效果处理,并可能以两个不干涉的方式.你失去了在物理上分离你的用户界面处理器和效果处理器的能力,但在别处获得了,并且可能使用现成的beagleboard来开发原型(使用模拟音频输入和输出).我实际上更喜欢hawkboard(使用hawkboard你可以获得一个可用的系统开箱即用,beagleboard你花了另一个berapeboard值钱的东西本应该在板上),但最后我看到他们有一个不稳定的缺陷与pcb设计.

我不喜欢这些规格,但tegra(一些即将推出的手机已经或将要以tegra为基础),就像omap一样,应该提供一些平行处理,以及对音频/视频和gui的精益.你只需要音频和gui(三个中更容易的两个).我认为有一个销售的开发平台,它有一个触摸屏和流行的嵌入式操作系统.

如果你想省钱,你可以自己制作这些东西.现在停下来去商店买一个.即使所有的设计都是免费的,自制软件也会花费更多.硬件和熔化的吉他和吉他放大器不是.我从经验中说,很多时候我在自制项目上花费了数千美元,以避免购买一些现成的300美元的物品.我学到了很多东西,而且个人建造这件东西比使用它更有趣,我通常在它最终工作后搁置它.因人而异

如果我误解了您的问题,请告诉我,我将使用不同的(简短)答案编辑/删除/替换所有问题.


推荐阅读
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • 解决微信电脑版无法刷朋友圈问题:使用安卓远程投屏方案
    在工作期间想要浏览微信和朋友圈却不太方便?虽然微信电脑版目前不支持直接刷朋友圈,但通过远程投屏技术,可以轻松实现在电脑上操作安卓设备的功能。 ... [详细]
  • 高效解决应用崩溃问题!友盟新版错误分析工具全面升级
    友盟推出的最新版错误分析工具,专为移动开发者设计,提供强大的Crash收集与分析功能。该工具能够实时监控App运行状态,快速发现并修复错误,显著提升应用的稳定性和用户体验。 ... [详细]
  • 本文介绍如何使用Python进行文本处理,包括分词和生成词云图。通过整合多个文本文件、去除停用词并生成词云图,展示文本数据的可视化分析方法。 ... [详细]
  • 本文探讨了如何在 PHP 的 Eloquent ORM 中实现数据表之间的关联查询,并通过具体示例详细解释了如何将关联数据嵌入到查询结果中。这不仅提高了数据查询的效率,还简化了代码逻辑。 ... [详细]
  • 解决网站乱码问题的综合指南
    本文总结了导致网站乱码的常见原因,并提供了详细的解决方案,包括文件编码、HTML元标签设置、服务器响应头配置、数据库字符集调整以及PHP与MySQL交互时的编码处理。 ... [详细]
  • 本文详细介绍了如何在Android 4.4及以上版本中配置WebView以实现内容的自动高度调整和屏幕适配,确保中文显示正常,并提供代码示例。 ... [详细]
  • CMake跨平台开发实践
    本文介绍如何使用CMake支持不同平台的代码编译。通过一个简单的示例,我们将展示如何编写CMakeLists.txt以适应Linux和Windows平台,并实现跨平台的函数调用。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 本文详细介绍了如何在 Linux 平台上安装和配置 PostgreSQL 数据库。通过访问官方资源并遵循特定的操作步骤,用户可以在不同发行版(如 Ubuntu 和 Red Hat)上顺利完成 PostgreSQL 的安装。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
author-avatar
胖子届全国身轻如燕冠军
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有